/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.appleboxstore.main;

import br.com.appleboxstore.controls.UsuarioJpaController;
import br.com.appleboxstore.entities.Usuario;
import br.com.appleboxstore.util.SystemUtils;
import java.util.List;
import javax.swing.JOptionPane;

/**
 *
 * @author alexander
 */
public class SystemManager {
    
    
    private static Usuario usuarioLogado = null;

    public static Usuario getUsuarioLogado() {
        return usuarioLogado;
    }

    public static void setUsuarioLogado(Usuario usuarioLogado) {
        SystemManager.usuarioLogado = usuarioLogado;
    }

    public static void initSystem(){
        checkDatabaseStructures();
        checkDatabaseData();
        checkNotifications();
    }

    private static void checkDatabaseStructures() {
        System.out.println("Todos as estruturas do banco estão ok");
    }

    private static void checkDatabaseData() {
        checkUsers();
        
    }

    private static void checkNotifications() {
        System.out.println("Todas as notificações estão ok");
    }

    private static void checkUsers() {
        List<Usuario> usuarios = new UsuarioJpaController().findUsuarioEntities();
        
        if(usuarios.isEmpty()){
            Usuario usuario = new Usuario();
            usuario.setEmail("alexander.de.almeida.pinto@gmail.com");
            usuario.setSenha(SystemUtils.md5("1234"));
            usuario.setNome("admin");

            
            new UsuarioJpaController().create(usuario);
            
            JOptionPane.showMessageDialog(null, "Usuário [alexander.de.almeida.pinto@gmail.com] criado com senha [1234].\n Favor mudar essa senha no primeiro acesso!", "Criação de usuário", JOptionPane.INFORMATION_MESSAGE);
        }
    }
}
